#pragma once
#include "Base.h"

typedef PVOID (WINAPI *ADDVECTOREDEXCEPTIONHANDLER)( ULONG,PVECTORED_EXCEPTION_HANDLER);
typedef ULONG (WINAPI *REMOVEVECTOREDEXCEPTIONHANDLER)( PVOID );

class CExceptMon
{
public:
	CExceptMon();
	~CExceptMon();
	BOOL InitExceptMonitor(void);

	static void DumpMiniDump(HANDLE hFile, PEXCEPTION_POINTERS excpInfo);
	static LONG WINAPI VectoredExceptionHandler(struct _EXCEPTION_POINTERS *ExceptionInfo);


private:
	PVOID m_hExceptHandle;

	ADDVECTOREDEXCEPTIONHANDLER m_AddVectorEH ;
	REMOVEVECTOREDEXCEPTIONHANDLER m_RemoveVectorEH;
};
